A large number of existing computer programs have been written for dependency upon traditional line printers. For example, if one or more characters were to be printed in bold print, the print command would be to make one or more additional passes on the same line of print so as to form a bold character by overstriking. In a similar manner, if an underline of the print were desired, then the print instruction would be to make another pass over the printed line, only this time an underscore character would print.
More specifically, a traditional interface to a line printer takes the form of a series of records, each of which contains both data to be printed and an operation to be performed after printing the data. The operation to be performed is typically (SPACE 1) meaning, space down one line after printing the data. Another typical operation is (NO) meaning that no paper motion should be performed after printing the data. If a (NO) operation is performed, the next line of data will overprint the current line. On an impact printer, overprinting a character with another copy of itself will cause the resulting text to appear bold, overprinting a second or subsequent time may produce a character that is bolder yet. With a modern non-impact printer, such as a laser printer, the overprint operation will have no visible effect.